package com.xju.utils;

import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;

public class DateUtil {

    public static String convertToDateTimeFormat(String isoDateTime) {
        try {
            // 解析 ISO 8601 格式字符串
            Instant instant = Instant.parse(isoDateTime);
            ZoneId zone = ZoneId.of("Asia/Shanghai"); // 使用中国时区
            LocalDateTime localDateTime = instant.atZone(zone).toLocalDateTime();

            // 格式化为 YYYY-MM-DD HH:MM:SS
            DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
            return localDateTime.format(formatter);
        } catch (DateTimeParseException e) {
            // 处理解析异常
            System.err.println("无效的 ISO 8601 日期时间字符串: " + isoDateTime);
            return null; // 或者抛出自定义异常
        } catch (Exception e) {
            // 处理其他可能出现的异常
            System.err.println("发生错误: " + e.getMessage());
            return null; // 或者抛出自定义异常
        }
    }

}
